const bcconst = require("./bcconst");

const CEC_INSTANCE_NAME = 'CEC';
const CEG_INSTANCE_NAME = 'CEG';
const HERO_INSTANCE_NAME = 'CFHero';
const NORMAL_HERO_INSTANCE_NAME = 'CFHero_normal';
const WEAPON_INSTANCE_NAME = 'WEAPON';
const CHIP_INSTANCE_NAME = 'CHIP';
const BEUSDT_INSTANCE_NAME = 'BEUSDT';
const BADGE_INSTANCE_NAME = 'BADGE';
const UserMinterFactory_INSTANCE_NAME = 'UserMinterFactory';
const Gacha_INSTANCE_NAME = 'Gacha';
const ClaimGachaFactory_INSTANCE_NAME = 'ClaimGachaFactory';
const BENftMarket_INSTANCE_NAME = 'BENftMarket';
const BENftMall_INSTANCE_NAME = 'BENftMall';
const GameItemMarket_INSTANCE_NAME = 'GameItemMarket';
const GameItemMall_INSTANCE_NAME = 'GameItemMall';
const Genesis_INSTANCE_NAME = 'Genesis';
const GoldBullion_INSTANCE_NAME = 'GoldBrick';
const FounderTag_INSTANCE_NAME = 'FounderTag';

function getNftNameByTokenType(tokenType) {
  switch (Number(tokenType)) {
  case bcconst.BC_NFT_HERO:
    {
      return HERO_INSTANCE_NAME;
    }
    break;
  case bcconst.BC_NFT_EQUIP:
    {
      return WEAPON_INSTANCE_NAME;
    }
    break;
  case bcconst.BC_NFT_CHIP:
    {
      return CHIP_INSTANCE_NAME;
    }
    break;
  case bcconst.BC_NFT_CLAIM_BOX:
    {
      return Gacha_INSTANCE_NAME;
    }
    break;
  case bcconst.BC_NFT_GENESIS:
    {
      return Genesis_INSTANCE_NAME;
    }
    break;
  case bcconst.BC_NFT_GOLD_BULLION:
    {
      return GoldBullion_INSTANCE_NAME;
    }
    break;
  case bcconst.BC_NFT_NORMAL_HERO:
    {
      return NORMAL_HERO_INSTANCE_NAME;
    }
    break;
  case bcconst.BC_NFT_FOUNDER_TAG:
    {
      return FounderTag_INSTANCE_NAME;
    }
    break;
  default:
    {
      return '';
    }
  }
}

exports.CEC_INSTANCE_NAME = CEC_INSTANCE_NAME;
exports.CEG_INSTANCE_NAME = CEG_INSTANCE_NAME;
exports.HERO_INSTANCE_NAME = HERO_INSTANCE_NAME;
exports.NORMAL_HERO_INSTANCE_NAME = NORMAL_HERO_INSTANCE_NAME;
exports.WEAPON_INSTANCE_NAME = WEAPON_INSTANCE_NAME;
exports.CHIP_INSTANCE_NAME = CHIP_INSTANCE_NAME;
exports.BEUSDT_INSTANCE_NAME = BEUSDT_INSTANCE_NAME;
exports.BADGE_INSTANCE_NAME = BADGE_INSTANCE_NAME;
exports.UserMinterFactory_INSTANCE_NAME = UserMinterFactory_INSTANCE_NAME;
exports.Gacha_INSTANCE_NAME = Gacha_INSTANCE_NAME;
exports.ClaimGachaFactory_INSTANCE_NAME = ClaimGachaFactory_INSTANCE_NAME;
exports.BENftMarket_INSTANCE_NAME = BENftMarket_INSTANCE_NAME;
exports.BENftMall_INSTANCE_NAME = BENftMall_INSTANCE_NAME;
exports.GameItemMarket_INSTANCE_NAME = GameItemMarket_INSTANCE_NAME;
exports.GameItemMall_INSTANCE_NAME = GameItemMall_INSTANCE_NAME;
exports.Genesis_INSTANCE_NAME = Genesis_INSTANCE_NAME;
exports.GoldBullion_INSTANCE_NAME = GoldBullion_INSTANCE_NAME;
exports.FounderTag_INSTANCE_NAME = FounderTag_INSTANCE_NAME;

exports.getNftNameByTokenType = getNftNameByTokenType;
